iPhone: [subview release] removes my subview from the display

Posted by Stefan Klumpp on Stack Overflow See other posts from Stack Overflow or by Stefan Klumpp
Published on 2010-05-19T08:51:47Z Indexed on 2010/05/19 9:00 UTC
Read the original article Hit count: 439

I have these two pieces of code. The first one works perfectly:

UIView *tmp = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 60.0f, 296.0f, 44.0f)];
[self.dynamicView addSubview:tmp];
[tmp release];

The second one is pretty much the same, but the view doesn't show up.

CommentBox *commentBox = [[CommentBox alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 296.0f, 44.0f)]; 
[self.dynamicView addSubview:commentBox];
[commentBox release];   // Why does this remove the view?

If I remove the [commentBox release] the view surprisingly appears. But I don't see a different between these two code snippets.

The init for the CommentBox looks like this:

- (id)initWithFrame:(CGRect)frame {
    if ((self = [super initWithFrame:frame])) {
        // Load the nib:
        NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"CommentBox" owner:self options:nil];
        self = [nibObjects objectAtIndex:0];

    }
    return self;
}

© Stack Overflow or respective owner

Related posts about iphone

Related posts about objective-c